package com.margo.project.web.workbench.todo;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;




@Inherited
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface WorkbenchTodo {

	String processId();
	
	//1处理一条  2处理多条
	int todoCountType() default 1;
	
	//参数下标
	int paramIndex() default 1;
	
	//用户类型 1根据userId  2根据orgId  3根据roleId 暂不支持  4自定义，实现TodoUserInterface接口
	int userType() default 1;
	
	//用户名属性  如果参数类型是string类型，则默认当前参数，否则根据参数名称，依据反射去方法参数获取
	String invokeProperty() default "";
	
	//自定义获取userId，交给Spring容器处理
	Class<? extends WorkbenchTodoUser> implCls() default WorkbenchTodoUser.class;
}
